<template>
  <van-datetime-picker
    v-model="birthday"
    type="date"
    title="选择年月日"
    :min-date="minDate"
    :max-date="maxDate"
    @confirm="onConfirm"
    @cancel="$emit('close')"
  ></van-datetime-picker>
</template>

<script>
export default {
  name: 'BirEdit',
  props: {},
  data() {
    return {
      minDate: new Date(1900, 0, 1),
      maxDate: new Date(),
      birthday: ''
    }
  },
  methods: {
    onConfirm(value) {
      value = this.dateFormat(value, 'yyyy-MM-dd')
      this.$emit('birthday', value)
      this.$emit('close')
    },
    dateFormat(date, format) {
    if (typeof date === "string") {
        var mts = date.match(/(\/Date\((\d+)\)\/)/);
        if (mts && mts.length >= 3) {
            date = parseInt(mts[2]);
        }
    }
    date = new Date(date);
    if (!date || date.toUTCString() === "Invalid Date") {
        return "";
    }
    var map = {
        "M": date.getMonth() + 1, // 月份
        "d": date.getDate(), // 日
        "h": date.getHours(), // 小时
        "m": date.getMinutes(), // 分
        "s": date.getSeconds(), // 秒
        "q": Math.floor((date.getMonth() + 3) / 3), // 季度
        "S": date.getMilliseconds() // 毫秒
    };

    format = format.replace(/([yMdhmsqS])+/g, function(all, t) {
        var v = map[t];
        if (v !== undefined) {
            if (all.length > 1) {
                v = '0' + v;
                v = v.substr(v.length - 2);
            }
            return v;
        } else if (t === 'y') {
            return (date.getFullYear() + '').substr(4 - all.length);
        }
        return all;
    });
    return format;
}
  }
}
</script>

<style scope lang="less"></style>
